<?xml version='1.0' encoding='ISO-8859-1' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"   
      xmlns:jb="http://java.sun.com/jsf/composite/componentes"
      xmlns:p="http://primefaces.org/ui">

    <SCRIPT language="JavaScript" type="text/javascript">
                   
        function handleRequest(xhr, status, args) {                     
            if(args.validationFailed) {  
     
            } else {                              
                carDialogUbicacion.hide();  
                jQuery('#btnGuardarDetalle').fadeOut();  
            }  
        }  
    </SCRIPT>
    <h:form onsubmit="return checkSubmit();"  id="frmDetalle">
        <h:panelGrid id="pgFormDtoDeta"   frame="box">
            <h:panelGrid  columns="4" cellpadding="4">
                <h:outputLabel value="#{i18n['sol.venta.deta.item']}" styleClass="label"/>
                <h:outputText value="#{solicitudVentaMBean.detaDto.item}"  styleClass="txtCampo"/>

                <h:outputLabel for="itProducto" styleClass="label" value="#{i18n['sol.venta.deta.producto']}"/>                    
                <p:autoComplete id="itProducto" value="#{solicitudVentaMBean.detaDto.productoDetaDto}" required="true" completeMethod="#{productoMBean.autoCompletarProductoDeta}"
                                label="#{i18n['sol.venta.deta.producto']}" readonly="#{sessionMBean.accionDetalle == applicationMBean.ver}" maxResults="10" minQueryLength="#{applicationMBean.minQueryLengthAutoComplete}" queryDelay="1" 
                                converter="productoDetaConvert" var="sn" itemLabel="#{sn.textoAutocomplete}" itemValue="#{sn}" size="50" forceSelection="true"> 
                    <p:ajax event="itemSelect" listener="#{solicitudVentaMBean.handleProductoChange}" update="itMoneda itUnidadMedida itPrecioUnitario itDecuento itTarifa itPrecioTarif" />
                    <p:column style="#{applicationMBean.estiloObligatorio}" > 
                        #{sn.productoDto.descripcion} || #{sn.unidadMedidaDto.nombre}
                    </p:column> 
                </p:autoComplete>


                <h:outputLabel for="itFecNecesidad" styleClass="label" value="#{i18n['sol.venta.deta.fecha.necesidad']}"/>
                <p:calendar id="itFecNecesidad" value="#{solicitudVentaMBean.detaDto.fechaNecesidad}" mindate="#{solicitudVentaMBean.fechaActual}" label="#{i18n['sol.venta.deta.fecha.necesidad']}" pattern="#{applicationMBean.formatoFecha}"  required="true"
                            style="#{applicationMBean.estiloObligatorio}" disabled="#{sessionMBean.accionDetalle == applicationMBean.ver}" >
                </p:calendar>

                <h:outputLabel for="itUnidadMedida" styleClass="label" value="#{i18n['sol.venta.deta.unidad.medida']}"/>                    
                <h:outputText id="itUnidadMedida" value="#{solicitudVentaMBean.detaDto.unidadMedidaDto.nombre}" styleClass="general"  />

                <h:outputLabel for="itCantidad" value="#{i18n['sol.venta.deta.cantidad']}" styleClass="label"/>
                <p:inputText id="itCantidad" label="#{i18n['sol.venta.deta.cantidad']}" style="#{applicationMBean.estiloObligatorio}"
                             value="#{solicitudVentaMBean.detaDto.cantidad}"  readonly="#{sessionMBean.accionDetalle == applicationMBean.ver}"
                             onkeypress="return fn_validaTecla('decimal',this)"
                             required="true" size="10" >
                    <f:validateLength minimum="1" maximum="9" />
                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                </p:inputText>  

                <h:outputLabel for="itCliente" styleClass="label" value="#{i18n['sol.venta.deta.cliente']}"/>                    
                <p:autoComplete id="itCliente" value="#{solicitudVentaMBean.detaDto.clienteDto}" completeMethod="#{terceroMBean.autoCompletarCliente}"
                                label="#{i18n['sol.venta.deta.cliente']}" required="true" readonly="#{sessionMBean.accionDetalle == applicationMBean.ver}" maxResults="10" minQueryLength="#{applicationMBean.minQueryLengthAutoComplete}" queryDelay="1" 
                                converter="terceroConvert" var="sn"  itemLabel="#{sn.descripcion}" itemValue="#{sn}" size="50" forceSelection="true"> 
                    <p:ajax event="itemSelect" listener="#{solicitudVentaMBean.handleClienteChange}" update="itDecuento itPrecioUnitario" />
                    <p:column style="#{applicationMBean.estiloObligatorio}" > 
                        #{sn.descripcion} || #{sn.numeroDocumento} || #{sn.nombreCompleto}
                    </p:column> 
                </p:autoComplete>

                <h:outputLabel for="itMoneda" styleClass="label" value="#{i18n['sol.venta.deta.moneda']}"/>                    
                <p:selectOneMenu id="itMoneda" value="#{solicitudVentaMBean.detaDto.monedaDto}" required="true" converter="monedaConvert" style="#{applicationMBean.estiloObligatorio}" disabled="#{sessionMBean.accionDetalle == applicationMBean.ver || solicitudCompraMBean.detaDto.unidadMedidaDto.id!=null}">
                    <f:selectItems value="#{solicitudVentaMBean.listaMonedas}" var="monedaDto" itemLabel="#{monedaDto.descripcion}" itemValue="#{monedaDto}" />                        
                </p:selectOneMenu>

                <h:outputLabel  styleClass="label" value="#{i18n['sol.venta.deta.tarifa']}" />                    
                <h:outputText id="itTarifa" value="#{solicitudVentaMBean.detaDto.tarifaDto.nombre}" styleClass="general"  />

                <h:outputLabel for="itPrecioTarif" value="#{i18n['sol.venta.deta.precio.tarifa']}" styleClass="label"/>
                <p:inputText id="itPrecioTarif" label="#{i18n['sol.venta.deta.precio.tarifa']}" style="#{applicationMBean.estiloObligatorio}"
                             value="#{solicitudVentaMBean.detaDto.precioTarifa}"  readonly="#{sessionMBean.accionDetalle == applicationMBean.ver}"
                             onkeypress="return fn_validaTecla('decimal',this)"
                             required="true" size="10" >
                    <f:validateLength minimum="1" maximum="9" />
                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                </p:inputText>  

                <h:outputLabel for="itDecuento" value="#{i18n['sol.venta.deta.descuento']}" styleClass="label"/>
                <p:inputText id="itDecuento" label="#{i18n['sol.venta.deta.descuento']}" style="#{applicationMBean.estiloObligatorio}"
                             value="#{solicitudVentaMBean.detaDto.descuento}"  readonly="#{sessionMBean.accionDetalle == applicationMBean.ver}"
                             onkeypress="return fn_validaTecla('decimal',this)"
                             required="true" size="10" >
                    <p:ajax event="blur" update="itPrecioUnitario" listener="#{solicitudVentaMBean.calcularMontos}"/> 
                    <f:validateLength minimum="1" maximum="9" />
                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                </p:inputText>  

                <h:outputLabel for="itPrecioUnitario" value="#{i18n['sol.venta.deta.precio.unitario']}" styleClass="label"/>
                <p:inputText id="itPrecioUnitario" label="#{i18n['sol.venta.deta.precio.unitario']}" style="#{applicationMBean.estiloObligatorio}"
                             value="#{solicitudVentaMBean.detaDto.precioUnitario}"  readonly="true"
                             onkeypress="return fn_validaTecla('decimal',this)"
                             required="true" size="10" >
                    <f:validateLength minimum="1" maximum="9" />
                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                </p:inputText>  

                <h:outputLabel for="itDescripcion" styleClass="label" value="#{i18n['sol.venta.deta.descripcion']}"/>
                <p:inputText id="itDescripcion" label="#{i18n['sol.venta.deta.descripcion']}" 
                             value="#{solicitudVentaMBean.detaDto.descripcion}"  readonly="#{sessionMBean.accionDetalle == applicationMBean.ver}"
                             required="true" size="60" maxlength="200" styleClass="txtCampoObligatorio">
                    <f:validateLength maximum="200" minimum="1" />
                </p:inputText>

                <h:outputLabel styleClass="label" value="#{i18n['sol.venta.deta.estado']}"/>                    
                <h:outputText  value="#{solicitudVentaMBean.detaDto.estadoTexto}" styleClass="general" />

            </h:panelGrid>  

            <p:panel id="pnlAcciones">
                <h:panelGrid columns="10">
                    <p:commandButton id="btnGuardarDetalle" update=":msjDialogDeta,:frmPrincipal:pnlPrincipalDeta" 
                                     title="#{i18n['general.button.guardar.tip']}"
                                     ajax="true"  
                                     style="#{applicationMBean.estilosBtnGuardar}"
                                     icon="ui-icon ui-icon-disk" rendered="#{sessionMBean.accionDetalle != applicationMBean.ver}"
                                     value="#{i18n['general.button.guardar']}" 
                                     action="#{solicitudVentaMBean.guardarDetalle}"
                                     oncomplete="handleRequest(xhr, status, args);">                                    
                    </p:commandButton>
                </h:panelGrid>
            </p:panel>
        </h:panelGrid>  
    </h:form>
</html>